PageSpy サーバーは、実行時に **現在の実行ディレクトリにある `config.json` 設定ファイル** を自動的に読み込みます。このファイルは初回実行時に存在しないため、必要に応じてこのファイルを作成または変更してサーバーの動作をカスタマイズできます。

設定ファイルでは次の内容を設定できます：実行ポート、マルチインスタンスデプロイ、クロスドメイン設定、ログデータ設定、データベース設定など。以下、各設定フィールドの役割を説明します。

```json
{
  // サーバーポート
  "port": "6752",
  // 最大ログファイルサイズ (MB)
  "maxLogFileSizeOfMB": 10240,
  // 最大ログファイル保存時間 (時間)
  "maxLogLifeTimeOfHour": 720,
  // ユーザーがインターフェース上でログを削除できるかどうか
  "notAllowedDeleteLog": false,
  // 最大部屋数
  "maxRoomNumber": 500,
  // クロスドメイン設定
  "corsConfig": {
    // 許可されたドメイン
    "allowOrigins": ["*"],
    // 許可されたリクエストヘッダー
    "allowHeaders": [
      "Origin",
      "Authorization",
      "Content-Length",
      "X-Request-Id",
      "Content-Type",
      "Referer",
      "User-Agent",
      "Host"
    ],
    // 許可されたリクエストメソッド
    "allowMethods": [
      "HEAD",
      "POST",
      "GET",
      "OPTIONS",
      "PUT",
      "DELETE",
      "UPDATE"
    ],
    // Exposed request headers
    "exposeHeaders": ["X-Request-Id"]
  },
  // S3互換のストレージ設定
  "storageConfig": {
    "baseDir": "",
    "keyId": "",
    "secret": "",
    "bucket": "",
    "region": "",
    "endpoint": "",
    // s3ForcePathStyle=false 代表する virtual-hosted–style api(デフォルト)
    // s3ForcePathStyle=true  代表する path-style api
    "s3ForcePathStyle": false
  },
  // 認証設定
  "authConfig": {
    // 認証パスワード
    "password": "",
    // JWT シークレット
    "jwtSecret": "",
    // トークン有効期限 (時間)
    "tokenExpiration": 720
  },
  // 複数のインスタンスをデプロイする場合は、現在のマシンのIPまたはコンテナ内のDNS名に設定します。
  "selfRpcAddress": {
    "ip": "", // マシン IP またはコンテナ内の DNS name
    "port": "" // サーバーポート
  },
  // マルチインスタンスデプロイ設定
  "rpcAddress": [
    {
      "ip": "", // マシン IP またはコンテナ内の DNS name
      "port": "" // サーバーポート
    },
    {
      "ip": "",
      "port": ""
    },
    ...
  ],
  // MySQL データベースアドレスを設定、デフォルトでは SQLite を使用
  "databaseConfig": {
    "mysqlUrl": "user:pass@tcp(127.0.0.1:3306)/dbname?charset=utf8mb4&parseTime=True&loc=Local"
  },
}
```